import 自动测试
from 插件.基础函数.常用函数 import *
from 工程.九州项目.接收激励.公共函数 import *

    
def 主收通道控制范围和精度测试初始化():
    # 射频矩阵1.连接()
#    信号源1.连接()
    信号源2.连接()
    频谱仪1.连接()
    产品初始化()

    频谱仪1.设置频率起点(7E7-5E4)
    频谱仪1.设置频率终点(7E7+5E4)
    频谱仪1.设置分析带宽自动()
    频谱仪1.设置视频带宽(3e2)
    频谱仪1.设置参考幅度(5)
    频谱仪1.设置开触发()

    zbb产品.被测产品SPI.设置PTT控制指令("PTT无效")

    print("主收通道控制范围和精度测试初始化")
    
def 主收通道控制范围和精度(通道='主收1',工作方式='AM',频点=118.0,低限=-10,高限=0):
    输出功率=-10
    输入功率=-97
    频率=频点*1000000
    zbb路由.测试主收通道控制范围和精度(通道)
    if 工作方式 == 'DS':
        输入功率 = -87
    zbb产品.被测产品SPI.设置通道方式频点(通道,工作方式,频点)

    信号源2.设置频率(频率)
    信号源2.设置幅度(+23)
    信号源2.设置调制关()
    信号源2.设置射频开()

    延时(1)
    频谱仪1.设置寻峰值()

    仪器主峰值=频谱仪1.读幅度()
    主峰值23=按值转换(仪器主峰值,0.1,0)

    信号源2.设置幅度(+输入功率)
    延时(2)
    频谱仪1.设置寻峰值()

    仪器主峰值=频谱仪1.读幅度()
    主峰值97=按值转换(仪器主峰值,0.1,0)

    print(主峰值23,主峰值97)
    精度 = math.fabs(主峰值23 - 主峰值97)

    项目="主收通道控制范围和精度('"+通道+"','"+工作方式+"',"+str(频点)+")"

    if 精度>0 and 精度<10 and 主峰值23>输出功率 and 主峰值23<0 and 主峰值97>输出功率 and 主峰值97<0:
        范围=120
    else:
        范围=118

    判断合格保存(项目+'精度',精度,0,10)
    判断合格保存(项目 + '范围', 范围, 120)
    判断合格保存(项目+'23',主峰值23,低限,高限)
    判断合格保存(项目+str(输入功率),主峰值97,低限,高限)

if __name__=='__main__':
    pass
    选择产品(1)
    主收通道控制范围和精度测试初始化()
    主收通道控制范围和精度('主收1','AM',118)
